package com.xul.crowd.service;

import com.github.pagehelper.PageInfo;
import com.xul.crowd.entity.Admin;

import java.util.List;

/**
 * @author xul
 * @create 2021-07-22 18:47
 */
public interface AdminService {

    /**
     * 添加管理员用户
     * @param admin
     */
    void save(Admin admin);

    List<Admin> findAll();

    /**
     * 用户登录接口
     * @param loginAcct
     * @param userPswd
     * @return
     */
    Admin getAdminLoginAcct(String loginAcct, String userPswd);

    /**
     * 管理员条件查询带分页
     * @param keyword
     * @param page
     * @param limit
     * @return
     */
    PageInfo<Admin> getPageInfo(String keyword,Integer page,Integer limit);

    /**
     * 根据id删除管理员信息
     * @param adminId
     */
    void remove(Integer adminId);

    /**
     * 修改管理员数据 让表单回显
     * @param adminId
     * @return
     */
    Admin getAdminById(Integer adminId);

    /**
     * 表单回显后更新管理员信息
     * @param admin
     */
    void update(Admin admin);

    /**
     * 理员实现对角色的分配 保存选中的角色到数据库(提交表单)
     * @param adminId
     * @param roleIdList
     */
    void saveAdminRoleRelationship(Integer adminId, List<Integer> roleIdList);

    /**
     * 根据用户名查询用户信息
     * @param loginAcct
     * @return
     */
    Admin getAdminByLoginAcct(String loginAcct);
}
